﻿using AppsModel.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AppsModel.Data_Layer.Interface
{
    public interface IdbWorkout
    {
        Workout addWorkout(string name, int categoryId, List<addWorkoutField> other, int userId);

        /// <summary>
        /// get the workout with give id. Lazy=true if you dont need to load additional fields
        /// </summary>
        /// <param name="id">id</param>
        /// <param name="lazy">if true the additional fields will not load</param>
        /// <returns></returns>
        Workout getWorkout(int id, bool lazy);

        List<Workout> getWorkouts();

        Workout updateWorkout(int id, string name, int categoryId, List<addWorkoutField> other, int userId);

        void deleteWorkout(int id);

    }
}
